#define _CRT_SECURE_NO_WARNINGS 1

//#include<iostream>
//
//using namespace std;
//
//struct A
//{
//	int id;
//	int score;
//};
//
//int cmp(const void* e1, const void* e2)
//{
//	return (((A*)e2)->score) - (((A*)e1)->score);
//}
//
//int main()
//{
//	A s[100] = { 0 };
//	int n = 0, k = 0;
//	cin >> n >> k;
//	for (int i = 0; i < n; i++)
//	{
//		scanf("%d %d", &s[i].id, &s[i].score);
//	}
//	qsort(s, n, sizeof(s[0]), cmp);
//	int end = s[(int)(k * 1.5)].score;
//	int count = 0;
//	for (int i = 0; i < n; i++)
//	{
//		if (s[i].score >= end)
//		{
//			count++;
//		}
//		if (s[i].score == s[i + 1].score && i + 1 < n)
//		{
//			if (s[i].id > s[i + 1].id)
//			{
//				swap(s[i], s[i + 1]);
//			}
//		}
//	}
//	cout << end << ' ' << count << endl;
//	for (int i = 0; i < count; i++)
//	{
//		cout << s[i].id << ' ' << s[i].score << endl;
//	}
//
//	return 0;
//}


//#include<iostream>
//
//using namespace std;
//
//bool Func(int* arr, int n)
//{
//	for (int i = 0; i < n; i++)
//	{
//		if (arr[i] == 0)
//		{
//			return false;
//		}
//	}
//	return true;
//}
//
//int main()
//{
//	string s1, s2, s3;
//	cin >> s1 >> s2 >> s3;
//	int count[26] = { 0 }, arr[200] = { 0 };
//	for (auto e : s2)
//	{
//		count[e - 'A']++;
//	}
//	for (size_t i = 0; i < s1.size(); i++)
//	{
//		if (arr[s1[i]] == 0)
//		{
//			arr[s1[i]] = s2[i];
//		}
//		else if(arr[s1[i]] != 0 && arr[s1[i]] != s2[i])
//		{
//			cout << "Failed" << endl;
//			return 0;
//		}
//	}
//	if (Func(count, 26))
//	{
//		for (auto e : s3)
//		{
//			printf("%c", arr[e]);
//		}
//	}
//	else
//	{
//		cout << "Failed" << endl;
//	}
//
//	return 0;
//}